home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1985 April
/
Ahoy_Magazine_85-04_1985_Double_L.d64
/
vic booter
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
3KB
|
99 lines
0 rem 'vic booter' copyright 1984 george jones * for vic 20
1 clr:dv=peek(186)
2 bs%=692:fi%=512:cs%=93:sr%=735:rn%=733:lm%=702:po%=723:im%=770:mx=65535
3 s%=679:e%=771:lo%=peek(im%):hi%=peek(e%)
4 gosub66:rem title
5 gosub19:rem input disk,id & prog name string
6 gosub51:rem format disk and write boot
7 print"[147]";:print"[144][212]he [194][207][207][212] will load":print"and run the program"
8 print"";pn$:print:print"[146][144]after you have saved"
9 print"it onto this disk."
10 print"[212]o test, type:":print"[204][207][193][196]";:printchr$(34)":*"chr$(34);:print",8,1"
11 close2:close15
12 print"[193]nother [194][207][207][212] ? (y/n)"
13 geta$:ifa$=""then13
14 ifa$<>"y"anda$<>"n"then13
15 ifa$="y"thenrestore:goto5
16 print"[147]"
17 sys58459:rem restore warm start vector
18 print"[193]ll [196]one!";:goto18
19 print"[147]":dn$="":id$="":pn$="":pokern%,174:pokern%+1,199:pokeim%,180:pokeim%+1,2
20 rem poke address of boot into basic warm start vector
21 print"[201][206][211][197][210][212][160][196][201][211][203][160][212][207][160][198][207][210][205][193][212][146]":print
22 forc=s%toe%:readz%:pokec,z%:next
23 print"*[196][193][212][193][160][215][201][204][204][160][194][197][160][197][210][193][211][197][196]*[146]"
24 print" [206][197][215][160][196][201][211][203][160][206][193][205][197]:[146] "
25 inputdn$
26 iflen(dn$)=0then24
27 print" [206][197][215][160][196][201][211][203][160][201][196]:[146] "
28 inputid$
29 iflen(id$)=0then27
30 print"[206]ame the program":print"you want to [194]oot"
31 inputpn$
32 iflen(pn$)=0then31
33 gosub71:rem get string from input buffer and poke to filenam
34 print"[201]s ";pn$;"[146]":print"a [194][193][211][201][195] program? (y/n)"
35 geta$:ifa$=""then35
36 ifa$<>"y"anda$<>"n"then35
37 ifa$="y"thenreturn:rem now get entry point of ml program
38 print"[199]ive the [211][217][211] address:[146]"
39 inputad
40 ifad=<1orad>=mxthenprint"[207][213][212] [207][198] [210][193][206][199][197]![146]":forc=1to1000:next:print"";:goto38
41 pokern%,(ad-int(ad/256)*256):rem poke lo byte
42 pokern%+1,(ad/256):rem poke hi byte
43 printtab(4)"[201]s data correct? (y/n)"
44 geta$:ifa$=""then44
45 ifa$<>"y"anda$<>"n"then44
46 ifa$="n"thenrun
47 return
48 close15:open15,dv,15
49 input#15,er,er$,t,s
50 return
51 gosub48
52 iferthenprinttab(8)er;er$;t;s:print"[208][204][197][193][211][197] [208][207][215][197][210] [196][207][215][206][160]& [211][212][193][210][212] [207][214][197][210]!";:goto52
53 close15:open15,dv,15
54 print#15,"n0:"+dn$+","+id$
55 close15
56 gosub48
57 iferthen52
58 close2:open2,dv,1,"0:[160]the magic boot,p,w":rem shifted space before title
59 print#2,chr$(s%-int(s%/256)*256);
60 print#2,chr$(s%/256);
61 fori=0tocs%-1
62 print#2,chr$(peek(s%+i));
63 next
64 close2
65 return
66 print"[147]";chr$(14):poke36879,25
67 printtab(7)"[214][201][195] [194][207][207][212][197][210]"
68 print" ([195]) 1984 [199]eorge [202]ones"
69 fort=1to2000:next
70 return
71 forc=1tolen(pn$)
72 pokesr%,(peek(fi%))
73 sr%=sr%+1:fi%=fi%+1
74 next
75 pokelm%,len(pn$):rem set length of new program name
76 return
77 rem*****************************
78 rem mx=65535 maximum address
79 rem bs%=692 start of nuboot
80 rem fi%=512 system input buffer
81 rem cs%=80 no of bytes to save
82 rem sr%=735 loc of file name
83 rem rn%=733 interpreter loop &
84 rem sys address for ml prog
85 rem lm%=702 store len(pn$)
86 rem im%=770 basic warm start vector
87 rem pn$= program name
88 rem dn$= disk name
89 rem id$= disk id
90 rem****************************
91 data40,67,40,49,57,56,52,71,74,79,78,69,83,169,1,162
92 data8,160,1,32,186,255,169,15,162,223,160,2,32,189,255,169
93 data0,162,255,160,255,32,213,255,134,45,132,46,32,239,2,32
94 data91,228,32,89,198,76,174,199,160,160,160,160,160,160,160,160
95 data160,160,160,160,160,160,160,160,162,0,169,160,157,223,2,232
96 data224,16,208,246,141,189,2,96,0,139,227,180,2
97 rem 'vic booter' copyright 1984 george jones * for vic 20